home *** CD-ROM | disk | FTP | other *** search
- #include <windows.h>
-
- #define EXPORTED __export FAR PASCAL
- typedef LPVOID LLOBJECT;
-
- // LIBRARY
- #define LLO_LIBRARY_OBJECT 0x00000000
-
- // CLASS
- #define LLO_CLASS_CONTEXT LLO_LIBRARY_OBJECT + 0x00000000
- #define LLO_CLASS_ABSTRACT LLO_LIBRARY_OBJECT + 0x00010000
- #define LLO_CLASS_ERROR LLO_LIBRARY_OBJECT + 0x00020000
- #define LLO_CLASS_APPLICATION LLO_LIBRARY_OBJECT + 0x00030000
-
- // GENERIC CLASS / PROPERTY
- #define LLO_ABSTRACT_APPLICATION LLO_CLASS_ABSTRACT + 0x0101
- #define LLO_ABSTRACT_OWNER LLO_CLASS_ABSTRACT + 0x0102
- #define LLO_ABSTRACT_LIBRARY_ID LLO_CLASS_ABSTRACT + 0x0211
- #define LLO_ABSTRACT_LIBRARY_NAME LLO_CLASS_ABSTRACT + 0x0212
- #define LLO_ABSTRACT_LIBRARY_VERSION LLO_CLASS_ABSTRACT + 0x0213
- #define LLO_ABSTRACT_CLASS_ID LLO_CLASS_ABSTRACT + 0x0221
- #define LLO_ABSTRACT_CLASS_NAME LLO_CLASS_ABSTRACT + 0x0222
- #define LLO_ABSTRACT_CLASS_VERSION LLO_CLASS_ABSTRACT + 0x0223
- #define LLO_ABSTRACT_ON_ERROR LLO_CLASS_ABSTRACT + 0x0301
- #define LLO_ABSTRACT_CARGO LLO_CLASS_ABSTRACT + 0x0401
- #define LLO_ABSTRACT_CARGO_COUNT LLO_CLASS_ABSTRACT + 0x0402
- #define LLO_ABSTRACT_CARGO_POINTER LLO_CLASS_ABSTRACT + 0x0403
-
- // ERROR CLASS / PROPERTY
- #define LLO_ERROR_OBJECT LLO_CLASS_ERROR + 0x0001
- #define LLO_ERROR_ACTION LLO_CLASS_ERROR + 0x0002
- #define LLO_ERROR_PROPERTY LLO_CLASS_ERROR + 0x0003
- #define LLO_ERROR_PROPERTY_NAME LLO_CLASS_ERROR + 0x0004
- #define LLO_ERROR_NUMBER LLO_CLASS_ERROR + 0x0005
- #define LLO_ERROR_MESSAGE LLO_CLASS_ERROR + 0x0006
- #define LLO_ERROR_PARAM LLO_CLASS_ERROR + 0x0007
-
- // APPLICATION CLASS / PROPERTY
- #define LLO_APPLICATION_HANDLE LLO_CLASS_APPLICATION + 0x0001
- #define LLO_APPLICATION_NAME LLO_CLASS_APPLICATION + 0x0002
- #define LLO_APPLICATION_CONTEXT LLO_CLASS_APPLICATION + 0x0003
- #define LLO_APPLICATION_CARGO_COUNT_DEFAULT LLO_CLASS_APPLICATION + 0x0004
- #define LLO_APPLICATION_NATION LLO_CLASS_APPLICATION + 0x0005
- #define LLO_APPLICATION_TASK LLO_CLASS_APPLICATION + 0x0006
- #define LLO_APPLICATION_MESSAGE LLO_CLASS_APPLICATION + 0x0007
- #define LLO_APPLICATION_OPTION_BASE LLO_CLASS_APPLICATION + 0x0008
- // ERRORS
- #define LLO_ERROR_NO_ERROR LLO_LIBRARY_OBJECT + 0
- #define LLO_ERROR_INVALID_CLASS_DEFINE LLO_LIBRARY_OBJECT + 1001
- #define LLO_ERROR_INVALID_OWNER_TYPE LLO_LIBRARY_OBJECT + 1002
- #define LLO_ERROR_INVALID_PARAMETERS LLO_LIBRARY_OBJECT + 1003
- #define LLO_ERROR_INVALID_ACCESS_NEW LLO_LIBRARY_OBJECT + 1101
- #define LLO_ERROR_INVALID_ACCESS_DEL LLO_LIBRARY_OBJECT + 1102
- #define LLO_ERROR_INVALID_ACCESS_ACCESS LLO_LIBRARY_OBJECT + 1103
- #define LLO_ERROR_INVALID_ACCESS_ASSIGN LLO_LIBRARY_OBJECT + 1104
- #define LLO_ERROR_INVALID_ACCESS_INVOKE LLO_LIBRARY_OBJECT + 1105
- #define LLO_ERROR_INVALID_ACCESS_COPY LLO_LIBRARY_OBJECT + 1106
- #define LLO_ERROR_MEMORY_ALLOCATION LLO_LIBRARY_OBJECT + 2000
- #define LLO_ERROR_OBJECT_ACCESS_DENIED LLO_LIBRARY_OBJECT + 3100
- #define LLO_ERROR_OBJECT_ASSIGN_DENIED LLO_LIBRARY_OBJECT + 3200
- #define LLO_ERROR_READONLY_PROPERTY LLO_LIBRARY_OBJECT + 4000
- #define LLO_ERROR_UNDEFINED_PROPERTY LLO_LIBRARY_OBJECT + 5000
- #define LLO_ERROR_CARGO_OUT_OF_LIMIT LLO_LIBRARY_OBJECT + 6000
- #define LLO_ERROR_PROFESSIONAL_VERSION_ONLY LLO_LIBRARY_OBJECT + 9101
- #define LLO_ERROR_DEMO_LIMIT_EXCEEDED LLO_LIBRARY_OBJECT + 9201
-
- // ACTIONS
- #define LLO_ACTION_NEW 0x01
- #define LLO_ACTION_DEL 0x02
- #define LLO_ACTION_ACCESS 0x03
- #define LLO_ACTION_ASSIGN 0x04
- #define LLO_ACTION_INVOKE 0x05
- #define LLO_ACTION_COPY 0x06
-
- #define LLO_COPY_CLONE 0x01
- #define LLO_COPY_BLOB 0x11
- #define LLO_COPY_UNBLOB 0x12
-
- #define LLO_MESSAGE_ERROR_NONE 0x00
- #define LLO_MESSAGE_ERROR_BEEP 0x01
- #define LLO_MESSAGE_ERROR_BOX 0x02
-
- extern LLOBJECT EXPORTED
- oNew( // Function Object New
- DWORD dwClass,
- LLOBJECT lloParent,
- int iSizeOfCargo,
- DWORD dwValue,
- DWORD dwExtraParam
- );
-
- extern LLOBJECT EXPORTED
- oDel( // Function Object Delete
- LLOBJECT lloObject
- );
-
- extern DWORD EXPORTED
- oAccess( // Function Object Access
- LLOBJECT lloObject,
- DWORD dwProperty,
- DWORD dwExtraParam
- );
-
- extern DWORD EXPORTED
- oAssign( // Function Object Assign
- LLOBJECT lloObject,
- DWORD dwProperty,
- DWORD dwValue,
- DWORD dwExtraParam
- );
-
- extern DWORD EXPORTED
- oInvoke( // Function Object New
- LLOBJECT lloObject,
- DWORD dwMethod,
- DWORD dwExtraParam
- );
-
- typedef DWORD ( CALLBACK * FP_ERROR ) \
- ( \
- LLOBJECT lloObject \
- );
-
-
-